package com.bodu.system.service;

import com.bodu.core.common.CommonService;
import com.bodu.system.entity.po.PermitPo;
import com.bodu.system.entity.request.MenuPermitRequest;
import com.bodu.system.entity.request.PermitRequest;
import com.bodu.system.entity.request.RolePermitRequest;
import com.bodu.system.entity.vo.PermitVo;

import java.util.List;

/**
 *
 * @author r.guo
 * @since 2019-05-25
 */
public interface PermitService extends CommonService<PermitRequest, PermitVo> {

    /**
     * 根据用户编号得到权限信息
     *
     * @param id
     * @return
     */
    List<PermitPo> listByAdminId(Long id);

    /**
     * 循环Permit
     *
     * @return
     */
    List<PermitVo> loopList();

    /**
     * 根据角色编号得到permit集合信息
     *
     * @param roleId
     * @return
     */
    List<Long> listPermitIdByRoleId(Long roleId);

    /**
     * 根据角色保存权限信息
     *
     * @param request
     * @return
     */
    Integer savePermitByRoleId(RolePermitRequest request);


    /**
     * 根据菜单编号保存权限信息
     *
     * @param request
     * @return
     */
    Integer savePermitByMenuId(MenuPermitRequest request);

    /**
     * 得到可以使用的权限
     *
     * @param roleId
     * @return
     */
    List<Long> listPermitIdByMenuId(Long roleId);
}
